

Ext.onReady(function() {

    Ext.tip.QuickTipManager.init();
	Ext.Ajax.request({
		url : 'jsp/dycolumn-list.jsp',
		params : 'method=自己的方法',
		method : 'POST',
		success : function(rs, request) {
			var result = rs.responseText;// 拿到结果集，此时为字符串
			var json = Ext.JSON.decode(result);// 将字符串转换为json类型
var cm = json.columModle;//new Ext.grid.ColumnModel(json.columModle);
			
Ext.create('Ext.data.Store', {
    storeId:'simpsonsStore',
    fields:['name', 'email', 'phone'],
    data:{'items':[
        { 'name': 'Lisa',  "email":"lisa@simpsons.com",  "phone":"555-111-1224"  },
        { 'name': 'Bart',  "email":"bart@simpsons.com",  "phone":"555-222-1234" },
        { 'name': 'Homer', "email":"home@simpsons.com",  "phone":"555-222-1244"  },
        { 'name': 'Marge', "email":"marge@simpsons.com", "phone":"555-222-1254"  }
    ]},
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'items'
        }
    }
});
    			var ds = Ext.create('Ext.data.Store', {
    fields:json.fieldsNames,
    data:json.data,
    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'data'
        }
    }
});


var grid = new Ext.grid.GridPanel({
region: 'center',
//split: true,
//border:false,
columns:cm,
store:ds
});
var grid1 = Ext.create('Ext.grid.Panel', {
    title: 'Simpsons',
    store: Ext.data.StoreManager.lookup('simpsonsStore'),
        region: 'center',
    columns: [
        { header: 'Name',  dataIndex: 'name' },
        { header: 'Email', dataIndex: 'email', flex: 1 },
        { header: 'Phone', dataIndex: 'phone' }
    ]
    //height: 200,
    //width: 400,
    //renderTo: Ext.getBody()
});

			// form start
			var form = new Ext.form.FormPanel({
				title : '编辑学生信息',
				region : 'east',
				frame : true,
				width : 300,
				autoHeight : true,
				labelAlign : 'right',
				labelWidth : 60,
				defaultType : 'textfield',
				defaults : {
					width : 200,
					allowBlank : false
				},
				items : [{
							xtype : 'hidden',
							name : 'id'
						}, {
							fieldLabel : '学号',
							name : 'code'
						}, {
							fieldLabel : '姓名',
							name : 'name'
						}, {
							fieldLabel : '年龄',
							name : 'age',
							xtype : 'numberfield',
							allowNegative : false
						}, {
							fieldLabel : '性别',
							name : 'sexText',
							hiddenName : 'sex',
							xtype : 'combo',
							store : new Ext.data.SimpleStore({
										fields : ['value', 'text'],
										data : [['1', '男'], ['2', '女']]
									}),
							emptyText : '请选择',
							mode : 'local',
							triggerAction : 'all',
							valueField : 'value',
							displayField : 'text',
							readOnly : true
						}, {
							fieldLabel : '政治面貌',
							name : 'political',
							xtype : 'combo',
							store : new Ext.data.SimpleStore({
										fields : ['text'],
										data : [['群众'], ['党员'], ['团员']]
									}),
							emptyText : '请选择',
							mode : 'local',
							triggerAction : 'all',
							valueField : 'text',
							displayField : 'text',
							readOnly : true
						}, {
							fieldLabel : '籍贯',
							name : 'origin'
						}, {
							fieldLabel : '所属系',
							name : 'professional'
						}],
				buttons : [{
					text : '添加',
					handler : function() {
						if (!form.getForm().isValid()) {
							return;
						}
						if (form.getForm().findField("id").getValue() == "") {
							// 添加
							form.getForm().submit({
								url : './jsp/save.jsp',
								success : function(f, action) {
									if (action.result.success) {
										Ext.Msg.alert('消息', action.result.msg,
												function() {
													grid.getStore().reload();
													form.getForm().reset();
													form.buttons[0]
															.setText('添加');
												});
									}
								},
								failure : function() {
									Ext.Msg.alert('错误', "添加失败");
								}
							});
						} else {
							// 修改
							form.getForm().submit({
								url : './jsp/save.jsp',
								success : function(f, action) {
									if (action.result.success) {
										Ext.Msg.alert('消息', action.result.msg,
												function() {
													grid.getStore().reload();
													form.getForm().reset();
													form.buttons[0]
															.setText('添加');
												});
									}
								},
								failure : function() {
									Ext.Msg.alert('错误', "修改失败");
								}
							});
						}
					}
				}, {
					text : '清空',
					handler : function() {
						form.getForm().reset();
						form.buttons[0].setText('添加');
					}
				}, {
					text : '删除',
					handler : function() {
						var id = form.getForm().findField('id').getValue();
						if (id == '') {
							Ext.Msg.alert('提示', '请选择需要删除的信息。');
						} else {
							Ext.Ajax.request({
										url : './jsp/remove.jsp',
										success : function(response) {
											var json = Ext
													.decode(response.responseText);
											if (json.success) {
												Ext.Msg.alert('消息', json.msg,
														function() {
															grid.getStore()
																	.reload();
															form.getForm()
																	.reset();
															form.buttons[0]
																	.setText('添加');
														});
											}
										},
										failure : function() {
											Ext.Msg.alert('错误', "删除失败");
										},
										params : "id=" + id
									});
						}
					}
				}]
			});
			// form end

			// layout start


Ext.create('Ext.container.Viewport', {
        layout: 'border',
        items: [{
            region: 'north',
            contentEl: 'head'
        }, grid,form,  {
            region: 'south',
            contentEl: 'foot'
        }],
    renderTo: Ext.getBody()
});

		},
		failure : function(rs, request) {
		}
	});


});

